var ztreeSetting = {
    check: {
        enable: true
    },
    data: {

        simpleData: {
            enable: true,
            idKey : "resId",
            pIdKey : "pid"
        }
    }
};

$(function(){
    $("#table").bootstrapTable({ // 对应table标签的id
        url: CONTEXT_PATH+"/manage/role/query", // 获取表格数据的url
        cache: false, // 设置为 false 禁用 AJAX 数据缓存， 默认为true
        striped: true,  //表格显示条纹，默认为false
        pagination: true, // 在表格底部显示分页组件，默认false
        pageList: [10, 20, 50], // 设置页面可以显示的数据条数
        pageSize: 10, // 页面数据条数
        pageNumber: 1, // 首页页码
        singleSelect: true,
        toolbar: '#toolbar',
        //search:true,
        striped: true,                      //隔行变色
        clickToSelect: true,                //点击选中
        showColumns: true,                  //是否显示所有的列
        showRefresh: true,                  //是否显示刷新按钮
        sidePagination: 'server', // 设置为服务器端分页
        responseHandler: function(res) {
            return {
                "total": res.page.total,//总页数
                "rows": res.data   //数据
            };
        },
        /*
        queryParams: function (params) { // 请求服务器数据时发送的参数，可以在这里添加额外的查询参数，返回false则终止请求

            return {
                pageSize: params.limit, // 每页要显示的数据条数
                offset: params.offset, // 每页显示数据的开始行号
                sort: params.sort, // 要排序的字段
                sortOrder: params.order, // 排序规则
                dataId: $("#dataId").val() // 额外添加的参数
            }
        },*/
        sortName: 'roleId', // 要排序的字段
        sortOrder: 'asc', // 排序规则
        columns: [
            {
                checkbox: true, // 显示一个勾选框
                align: 'center' // 居中显示
            }, {
                field: 'roleId', // 返回json数据中的name
                title: '角色ID', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中,
                sortable: true
            }, {
                field: 'code', // 返回json数据中的name
                title: '代码', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中
                sortable: true
            }, {
                field: 'name',
                title: '名称',
                align: 'center',
                valign: 'middle',
                sortable: true
            }
        ],
        onLoadSuccess: function(){  //加载成功时执行
            //console.info("加载成功");
        },
        onLoadError: function(){  //加载失败时执行
            layer.alert("数据加载失败");
        }

    });

    $('#btn_add').click(function () {
        $('#role_form')[0].reset();
        $('#action_type').val('add');
        $('#detailModalTitle').text('新增角色');
        $('#detailModal').modal('show');
    });

    $('#btn_edit').click(function () {
        var records = $('#table').bootstrapTable('getSelections');
        if(records.length==0){
            layer.alert('请先选择要修改的记录！');
            return;
        }
        $.wajax({
            url: CONTEXT_PATH+'/manage/role/findById',
            data: {roleId: records[0].roleId},
            success: function (result) {
                if(result.code == RESULT_FAIL){
                    layer.alert(result.msg);
                    return;
                }
                for(var key in result.data){
                    $('#'+key).val(result.data[key])
                }
            }
        });
        $('#action_type').val('edit');
        $('#detailModalTitle').text('修改角色');
        $('#detailModal').modal('show');
    });
    
//    $('#btn_delete').click(function () {
//        var records = $('#table').bootstrapTable('getSelections');
//        if(records.length==0){
//            layer.alert('请先选择要删除的记录！');
//            return;
//        }
//        layer.confirm('确认删除选中记录吗？', {
//            btn: ['确定','取消'] //按钮
//        }, function(){
//            var id = records[0].id;
//            $.wajax({
//                url: CONTEXT_PATH+'/manage/role/del',
//                data: {id: id},
//                success: function (result) {
//                    layer.alert(result.msg);
//                    $('#table').bootstrapTable('refresh');
//                }
//            });
//        });
//    });

    $('#btn_submit').click(function () {
        //layer.alert("123");
        $("#role_form").submit();
    });

    $('#btn_resource').click(function () {
        var records = $('#table').bootstrapTable('getSelections');
        if(records.length==0){
            layer.alert('请先选择要配置的角色！');
            return;
        }
        $.wajax({
            url: CONTEXT_PATH+'/manage/role/resourceTree',
            data: {roleId: records[0].roleId},
            success: function (result) {
                var ztree = $.fn.zTree.init($("#resourceTree"), ztreeSetting, result.data);
                ztree.expandAll(true);
            }
        });
        $('#resourceConfigModal').modal('show');
    });

    $('#btn_save').click(function () {
        var records = $('#table').bootstrapTable('getSelections');
        var ztree = $.fn.zTree.getZTreeObj('resourceTree');
        var nodes = ztree.getCheckedNodes(true);
        var resourceIds = [];
        for(var i=0;i<nodes.length;i++){
            resourceIds.push(nodes[i].resId);
        }
        $.wajax({
            url: CONTEXT_PATH+'/manage/role/saveRoleResource',
            data: {roleId: records[0].roleId, resourceIds: resourceIds.join(',')},
            success: function (result) {
                layer.alert(result.msg);
                $('#resourceConfigModal').modal('hide');
            }
        });
    });

//    $('#btn_report').click(function () {
//        var records = $('#table').bootstrapTable('getSelections');
//        if(records.length==0){
//            layer.alert('请先选择要配置的角色！');
//            return;
//        }
//        $.wajax({
//            url: CONTEXT_PATH+'/manage/role/reportTree',
//            data: {roleId: records[0].id},
//            success: function (result) {
//                var ztree = $.fn.zTree.init($("#reportTree"), ztreeSetting, result.data);
//                ztree.expandAll(true);
//            }
//        });
//        $('#reportConfigModal').modal('show');
//    });

//    $('#btn_save_report').click(function () {
//        var records = $('#table').bootstrapTable('getSelections');
//        var ztree = $.fn.zTree.getZTreeObj('reportTree');
//        var nodes = ztree.getCheckedNodes(true);
//        var menuIds = [];
//        for(var i=0;i<nodes.length;i++){
//            menuIds.push(nodes[i].id)
//        }
//        $.wajax({
//            url: CONTEXT_PATH+'/manage/role/saveReportMenu',
//            data: {roleId: records[0].id, menuIds: menuIds.join(',')},
//            success: function (result) {
//                layer.alert(result.msg);
//                $('#reportConfigModal').modal('hide');
//            }
//        });
//    });

    $("#role_form").validate({
        rules: {
            code: {
                required: true
            },
            name: {
                required: true
            }
        },
        messages: {
            code: "代码是必填项",
            name: "名称是必填项"
        },
        errorElement: "span",
        submitHandler: function(form) {
            var url='';
            var actionType = $('#action_type').val();
            if(actionType=='add'){
                url=CONTEXT_PATH+'/manage/role/add';
            }else if(actionType=='edit'){
                url=CONTEXT_PATH+'/manage/role/edit';
            }
            $.wajax({
                type: "POST",
                url: url,
                data: $(form).serialize(),
                success: function(result) {
                    layer.alert(result.msg);
                    $('#detailModal').modal('hide');
                    $('#table').bootstrapTable('refresh');
                    $(form)[0].reset();
                }
            });
        }
    });//End

});